// SmVR_Matrix.h

//#include "SmVR_CommonTypes.h"

#ifdef __APPLE__
    #include "GL/gl.h"
    #include "GL/glu.h"
    #include <GL/glext.h>
#else
    #include "GL/gl.h"
    #include "GL/glu.h"
    #include <GL/glext.h>
#endif


typedef GLfloat SmVR_Matrix[4][4];

void	SmVR_CopyMatrix(SmVR_Matrix dest, SmVR_Matrix source);
int		M_invert(SmVR_Matrix m);
void	M_mult(SmVR_Matrix m, SmVR_Matrix n);
void	SmVR_SetIdentityMatrix(SmVR_Matrix LocalMatrix);

void SmVR_MultMatrix (SmVR_Matrix m1, SmVR_Matrix m2, SmVR_Matrix mr);
void SmVR_InvertMatrix(float *mat, float *dst);
void SmVR_InvertMatrix3( float a[4][4], float b[4][4]);







